import { createApp } from 'vue';
import App from './App.vue';
import router from './router';

import 'font-awesome/css/font-awesome.min.css';
import axios from 'axios';
import qs from 'qs';
import {
	getCurDate,
	setSessionStorage,
	getSessionStorage,
	removeSessionStorage,
	setLocalStorage,
	getLocalStorage,
	removeLocalStorage
} from './common.js';

axios.defaults.baseURL = 'http://localhost:8080/elm/'; // 修改为本地后端地址			//

const app = createApp(App);

// 将 axios 和其他全局方法挂载到 app 实例上
app.config.globalProperties.$axios = axios;
app.config.globalProperties.$qs = qs;
app.config.globalProperties.$getCurDate = getCurDate;
app.config.globalProperties.$setSessionStorage = setSessionStorage;
app.config.globalProperties.$getSessionStorage = getSessionStorage;
app.config.globalProperties.$removeSessionStorage = removeSessionStorage;
app.config.globalProperties.$setLocalStorage = setLocalStorage;
app.config.globalProperties.$getLocalStorage = getLocalStorage;
app.config.globalProperties.$removeLocalStorage = removeLocalStorage;

router.beforeEach((to, from, next) => {
	let user = sessionStorage.getItem('user');
	// 除了登录、注册、首页、商家列表、商家信息之外，都需要判断是否登录
	if (!(to.path === '/' || to.path === '/index' || to.path === '/businessList' || to.path === '/businessInfo' || to.path === '/login' || to.path === '/register')) {
		if (user == null) {
			router.push('/login');
			//location.reload();
		}
	}
	next();
});

app.use(router);
app.mount('#app');
